# Definitional proc to organize widgets for parameters.
proc init_gui { IPINST } {
  ipgui::add_param $IPINST -name "Component_Name"
  #Adding Page
  set Page_0 [ipgui::add_page $IPINST -name "Page 0"]
  ipgui::add_param $IPINST -name "WIDTH" -parent ${Page_0}
  ipgui::add_param $IPINST -name "TOTAL_ROW" -parent ${Page_0}
  ipgui::add_param $IPINST -name "HEAD_ROW_NUM" -parent ${Page_0}
  ipgui::add_param $IPINST -name "TAIL_ROW_NUM" -parent ${Page_0}


}

proc update_PARAM_VALUE.FREQ_HZ { PARAM_VALUE.FREQ_HZ } {
	# Procedure called to update FREQ_HZ when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.FREQ_HZ { PARAM_VALUE.FREQ_HZ } {
	# Procedure called to validate FREQ_HZ
	return true
}

proc update_PARAM_VALUE.HEAD_ROW_NUM { PARAM_VALUE.HEAD_ROW_NUM } {
	# Procedure called to update HEAD_ROW_NUM when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.HEAD_ROW_NUM { PARAM_VALUE.HEAD_ROW_NUM } {
	# Procedure called to validate HEAD_ROW_NUM
	return true
}

proc update_PARAM_VALUE.TAIL_ROW_NUM { PARAM_VALUE.TAIL_ROW_NUM } {
	# Procedure called to update TAIL_ROW_NUM when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.TAIL_ROW_NUM { PARAM_VALUE.TAIL_ROW_NUM } {
	# Procedure called to validate TAIL_ROW_NUM
	return true
}

proc update_PARAM_VALUE.TOTAL_ROW { PARAM_VALUE.TOTAL_ROW } {
	# Procedure called to update TOTAL_ROW when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.TOTAL_ROW { PARAM_VALUE.TOTAL_ROW } {
	# Procedure called to validate TOTAL_ROW
	return true
}

proc update_PARAM_VALUE.TUSER_WIDTH { PARAM_VALUE.TUSER_WIDTH } {
	# Procedure called to update TUSER_WIDTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.TUSER_WIDTH { PARAM_VALUE.TUSER_WIDTH } {
	# Procedure called to validate TUSER_WIDTH
	return true
}

proc update_PARAM_VALUE.WIDTH { PARAM_VALUE.WIDTH } {
	# Procedure called to update WIDTH when any of the dependent parameters in the arguments change
}

proc validate_PARAM_VALUE.WIDTH { PARAM_VALUE.WIDTH } {
	# Procedure called to validate WIDTH
	return true
}


proc update_MODELPARAM_VALUE.WIDTH { MODELPARAM_VALUE.WIDTH PARAM_VALUE.WIDTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.WIDTH}] ${MODELPARAM_VALUE.WIDTH}
}

proc update_MODELPARAM_VALUE.TUSER_WIDTH { MODELPARAM_VALUE.TUSER_WIDTH PARAM_VALUE.TUSER_WIDTH } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.TUSER_WIDTH}] ${MODELPARAM_VALUE.TUSER_WIDTH}
}

proc update_MODELPARAM_VALUE.FREQ_HZ { MODELPARAM_VALUE.FREQ_HZ PARAM_VALUE.FREQ_HZ } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.FREQ_HZ}] ${MODELPARAM_VALUE.FREQ_HZ}
}

proc update_MODELPARAM_VALUE.TOTAL_ROW { MODELPARAM_VALUE.TOTAL_ROW PARAM_VALUE.TOTAL_ROW } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.TOTAL_ROW}] ${MODELPARAM_VALUE.TOTAL_ROW}
}

proc update_MODELPARAM_VALUE.HEAD_ROW_NUM { MODELPARAM_VALUE.HEAD_ROW_NUM PARAM_VALUE.HEAD_ROW_NUM } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.HEAD_ROW_NUM}] ${MODELPARAM_VALUE.HEAD_ROW_NUM}
}

proc update_MODELPARAM_VALUE.TAIL_ROW_NUM { MODELPARAM_VALUE.TAIL_ROW_NUM PARAM_VALUE.TAIL_ROW_NUM } {
	# Procedure called to set VHDL generic/Verilog parameter value(s) based on TCL parameter value
	set_property value [get_property value ${PARAM_VALUE.TAIL_ROW_NUM}] ${MODELPARAM_VALUE.TAIL_ROW_NUM}
}

